﻿#pragma once

#include <string>
#include "../tangible_filesystem.h"

class GameLanguage
{
    //Client
public:
    static std::string PetMode_Both;
    static std::string PetMode_MoveOnly;
    static std::string PetMode_AttackOnly;
    static std::string PetMode_None;
    static std::string AttackMode_Peace;
    static std::string AttackMode_Group;
    static std::string AttackMode_Guild;
    static std::string AttackMode_EnemyGuild;
    static std::string AttackMode_RedBrown;
    static std::string AttackMode_All;
    static std::string LogOutTip;
    static std::string ExitTip;
    static std::string DiedTip;
    static std::string DropTip;
    static std::string Inventory;
    static std::string Character;
    static std::string Skills;
    static std::string Quests;
    static std::string Options;
    static std::string Menu;
    static std::string GameShop;
    static std::string BigMap;
    static std::string DuraPanel;
    static std::string Mail;
    static std::string Exit;
    static std::string LogOut;
    static std::string Help;
    static std::string Keybinds;
    static std::string Ranking;
    static std::string Creatures;
    static std::string Mount;
    static std::string Fishing;
    static std::string Friends;
    static std::string Mentor;
    static std::string Relationship;
    static std::string Groups;
    static std::string Guild;
    static std::string Expire;
    static std::string ExpireNever;
    static std::string Never;
    static std::string Trade;
    static std::string Size;
    static std::string ChatSettings;
    static std::string Rotate;
    static std::string Close;
    static std::string GameMaster;
    static std::string PatchErr;
    static std::string LastOnline;
    static std::string Gold;
    static std::string Credit;
    static std::string YouGained;
    static std::string YouGained2;
    static std::string ExperienceGained;
    static std::string ItemDescription;
    static std::string RequiredLevel;
    static std::string RequiredDC;
    static std::string RequiredMC;
    static std::string RequiredSC;
    static std::string ClassRequired;
    static std::string Holy;
    static std::string Holy2;
    static std::string Accuracy;
    static std::string Accuracy2;
    static std::string Agility;
    static std::string Agility2;
    static std::string DC;
    static std::string DC2;
    static std::string MC;
    static std::string MC2;
    static std::string SC;
    static std::string SC2;
    static std::string Durability;
    static std::string Weight;
    static std::string AC;
    static std::string AC2;
    static std::string MAC;
    static std::string MAC2;
    static std::string Luck;
    static std::string DeleteCharacter;
    static std::string CharacterDeleted;
    static std::string CharacterCreated;
    static std::string Resolution;
    static std::string Autostart;
    static std::string Usrname;
    static std::string Password;
    static std::string ShuttingDown;
    static std::string MaxCombine;
    static std::string Count;
    static std::string ExtraSlots8;
    static std::string ExtraSlots4;
    static std::string Chat_All;
    static std::string Chat_Short;
    static std::string Chat_Whisper;
    static std::string Chat_Lover;
    static std::string Chat_Mentor;
    static std::string Chat_Group;
    static std::string Chat_Guild;
    static std::string ExpandedStorageLocked;
    static std::string ExtraStorage;
    static std::string ExtendYourRentalPeriod;
    static std::string CannotLeaveGame;
    static std::string SelectKey;
    static std::string WeaponSpiritFire;
    static std::string SpiritsFireDisappeared;
    static std::string WeddingRing;
    static std::string ItemTextFormat;
    static std::string DropAmount;
    static std::string LowMana;
    static std::string NoCreatures;
    static std::string NoMount;
    static std::string NoFishingRod;
    static std::string AttemptingConnect;
    static std::string CreatingCharactersDisabled;
    static std::string InvalidCharacterName;
    static std::string NoClass;
    static std::string ToManyCharacters;
    static std::string CharacterNameExists;
    static std::string WarriorsDes;
    static std::string WizardDes;
    static std::string TaoistDes;
    static std::string AssassinDes;
    static std::string ArcherDes;
    static std::string DateSent;
    static std::string Send;
    static std::string Reply;
    static std::string Read;
    static std::string Delete;
    static std::string BlockList;
    static std::string EnterMailToName;
    static std::string AddFriend;
    static std::string RemoveFriend;
    static std::string FriendMemo;
    static std::string FriendMail;
    static std::string FriendWhisper;
    static std::string FriendEnterAddName;
    static std::string FriendEnterBlockName;
    static std::string AddMentor;
    static std::string RemoveMentorMentee;
    static std::string MentorRequests;
    static std::string MentorEnterName;
    static std::string RestedBuff;
    static std::string ItemTypeWeapon;
    static std::string ItemTypeArmour;
    static std::string ItemTypeHelmet;
    static std::string ItemTypeNecklace;
    static std::string ItemTypeBracelet;
    static std::string ItemTypeRing;
    static std::string ItemTypeAmulet;
    static std::string ItemTypeBelt;
    static std::string ItemTypeBoots;
    static std::string ItemTypeStone;
    static std::string ItemTypeTorch;
    static std::string ItemTypePotion;
    static std::string ItemTypeOre;
    static std::string ItemTypeMeat;
    static std::string ItemTypeCraftingMaterial;
    static std::string ItemTypeScroll;
    static std::string ItemTypeGem;
    static std::string ItemTypeMount;
    static std::string ItemTypeBook;
    static std::string ItemTypeScript;
    static std::string ItemTypeReins;
    static std::string ItemTypeBells;
    static std::string ItemTypeSaddle;
    static std::string ItemTypeRibbon;
    static std::string ItemTypeMask;
    static std::string ItemTypeFood;
    static std::string ItemTypeHook;
    static std::string ItemTypeFloat;
    static std::string ItemTypeBait;
    static std::string ItemTypeFinder;
    static std::string ItemTypeReel;
    static std::string ItemTypeFish;
    static std::string ItemTypeQuest;
    static std::string ItemTypeAwakening;
    static std::string ItemTypePets;
    static std::string ItemTypeTransform;
    static std::string ItemTypeDeco;
    static std::string ItemGradeCommon;
    static std::string ItemGradeRare;
    static std::string ItemGradeLegendary;
    static std::string ItemGradeMythical;
    static std::string NoAccountID;
    static std::string IncorrectPasswordAccountID;
    static std::string GroupSwitch;
    static std::string GroupAdd;
    static std::string GroupRemove;
    static std::string GroupAddEnterName;
    static std::string GroupRemoveEnterName;
    static std::string TooHeavyToHold;
    static std::string SwitchMarriage;
    static std::string RequestMarriage;
    static std::string RequestDivorce;
    static std::string MailLover;
    static std::string WhisperLover;

    //Server
    static std::string Welcome;
    static std::string OnlinePlayers;
    static std::string WeaponLuck;
    static std::string WeaponCurse;
    static std::string WeaponNoEffect;
    static std::string InventoryIncreased;
    static std::string FaceToTrade;
    static std::string NoTownTeleport;
    static std::string CanNotRandom;
    static std::string CanNotDungeon;
    static std::string CannotResurrection;
    static std::string CanNotDrop;
    static std::string NewMail;
    static std::string CouldNotFindPlayer;
    static std::string BeenPoisoned;
    static std::string AllowingMentorRequests;
    static std::string BlockingMentorRequests;

    //common
    static std::string LowLevel;
    static std::string LowGold;
    static std::string LevelUp;
    static std::string LowDC;
    static std::string LowMC;
    static std::string LowSC;
    static std::string GameName;
    static std::string ExpandedStorageExpiresOn;
    static std::string NotFemale;
    static std::string NotMale;
    static std::string NotInGuild;
    static std::string NoMentorship;
    static std::string NoBagSpace;


    static void LoadClientLanguage(const std::string &languageIniPath);


    static void SaveClientLanguage(const std::string &languageIniPath);


    static void LoadServerLanguage(const std::string &languageIniPath);

    static void SaveServerLanguage(const std::string &languageIniPath);
};
